import {
  tokenKey
} from "@/config";
/**
 * 请求拦截
 * @param {Object} http
 */
module.exports = (vm) => {
  uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
      // 初始化请求拦截器时，会执行此方法，此时data为undefined，赋予默认{}
      config.data = config.data || {}
      // 可以在此通过vm引用vuex中的变量，具体值在vm.$store.state中
      // console.log(vm.$store.state);
      // 携带token
      config.header['Authorization'] = `Bearer ${uni.$u.getStorage(tokenKey)}`
      let platform = 'MP-WEIXIN';
      // 平台标识
      // #ifdef APP-PLUS
      platform = 'APP-PLUS';
      // #endif
      // #ifdef H5
      platform = 'H5';
      // #endif
      // #ifdef MP-WEIXIN
      platform = 'MP-WEIXIN';
      // #endif
      // #ifdef MP-ALIPAY
      platform = 'MP-ALIPAY';
      // #endif
      // #ifdef MP-BAIDU
      platform = 'MP-BAIDU';
      // #endif
      // #ifdef MP-TOUTIAO
      platform = 'MP-TOUTIAO';
      // #endif
      config.header.platform = platform;
      return config
    }, (config) => // 可使用async await 做异步操作
    Promise.reject(config))
}